package com.navidove.appspotlight.model.service;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.navidove.appspotlight.model.bo.AppDevice;
import com.navidove.appspotlight.model.bo.AppItem;
import com.navidove.appspotlight.model.bo.AppDevice.DeviceType;
import com.navidove.commons.vo.Paging;

public interface AppItemService {
	
	public List<AppItem> getAppItemList(String appName, String owner, Long sourceId, Long categoryId, Boolean enable, Paging paging);
	
	public AppItem getAppItem(Long id);
	
	public AppItem getAppItem(String appName);
	
	public void saveAppItem(AppItem appItem);
	
	public void deleteAppItem(Long id);
	
	public AppDevice getAppDevice(Long appItemId, AppDevice.DeviceType deviceType);
	
	public List<AppDevice> getAppDeviceList(Long appItemId);
	
	public void saveAppDevice(AppDevice appDevice, MultipartFile qrcImageFile, MultipartFile iconImageFile);
	
	public void deleteAppDevice(Long appItemId, DeviceType deviceType);
}
